자바스크립트에서 메모리 누수

❓질문

자바스크립트에서 메모리 누수가 발생하는 상황들을 설명해주세요.


💡 조사하기전 내가 알고 있던 내용

메모리 누수는 의도치않게 계속 참조할때 일어나게됩니다.

제가 아는 경우를 하나 설명하면 전역 변수를 과도하게 사용하는 경우가 있을 것 같습니다.
전역변수에 등록하게되면 window객체에 이를 등록하게되는데 이는 어플리케이션이 종료될때 까지 계속 참조를 하고있게됩니다, 즉 불필요한 변수를 전역변수에 담게되면 사용하지않아도 계속 참조를 하고있는 상황을 만들어낼 수 있기 때문에 모듈화를 통해 나눠 필요한곳에서 변수를 사용할 수 있게 하여야합니다.


🏫 정리한 내용

이외에도 이벤트 리스너를 해제하지않은 경우가 있습니다.
예를 들어, 특정 DOM 요소에 이벤트 리스너를 등록한 후 해당 요소를 제거할 때, 이벤트 리스너를 명시적으로 제거하지 않으면 해당 요소에 대한 참조가 유지되어 메모리가 해제되지 않습니다. 이를 방지하기 위해서는 removeEventListener()를 호출해 불필요한 이벤트 리스너를 제거해야 합니다.